今天我們來介紹關於Oracle的實體檔案
Control File是以二進制方式儲存,無法直接讀取,用來存放Oracle Database的系統資訊,包括了各資料庫的名稱、存放路徑與資料庫大小等。
當instance啟動後,會先讀取Control File,在11g之後系統自動會建立三個Control File,內容完全一樣,若有其中一個檔案損毀,其他兩個可以代替。
Data File是儲存實際資料的地方,每個Tablespace名稱就是一個Data File,屬於哪一個Tablespace的物件或資料,都會存放於所屬Tablespace檔名的檔案中,當Oracle安裝完成後,會自動建立以下tablespace:System Tablespace、Sysaux Tablespace、Temp Tablespace、Undo Tablesapce、User Tablespace。
「Tablespace」是一種邏輯空間,存在記憶體中,一個Tablespace可以對應多個相同名稱開頭的Data File,若我們的Data File空間不足時,就必須增加新的Data File來儲存Tablespace資料,但一個Data File只能對應一個Tablespace。
當我們對資料做更新時,這樣的動作稱為「交易」,這些資訊會被存在Redo Log File中,當資料需要被回復時,我們可以透過Redo Log File的資訊將資料回復到變更之前。
資料庫安裝完成後,會產生三個Redo Log File,預設至少需要有兩個,當第一個資料被寫滿後,會繼續將資料寫到第二個Redo Log,若只有兩個Redo Log,當二個檔案被寫滿,會繼續寫到第一個Redo Log,這稱為「循環模式」。